#ifndef CONVERSACION_H_
#define CONVERSACION_H_

#include <string>
#include <list>
#include <map>

#define NOMBRE_SERVIDOR "servidor"
#define MENSAJE_VACIO "vacío"

using namespace std;

typedef struct InfoCliente{
	string apodo;
	string pathFifo;
}InfoCliente;


class Conversacion {
private:
	int id;
	string nombre;
	map<int,InfoCliente> participantes;
	bool activa;

public:
	Conversacion();
	Conversacion(int id);
	Conversacion(const Conversacion &c);
	bool hayParticipantes();
	void eliminarParticipante(int pid);
	void registrarParticipante(int pid, InfoCliente info);
	void setParticipantes(map<int,InfoCliente> participantes);
	map<int,InfoCliente> getParticipantes();
	void terminarConversacion();
	virtual ~Conversacion();
    int getId() const;
    string getNombre();
    void setId(int id);
    void setNombre(string nombre);
    bool getActiva() const;
    void setActiva(bool activa);
};

#endif /* CONVERSACION_H_ */
